package com.niguang.work.labour.api.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 'work.v_personSite' is not BASE TABLE
 * </p>
 *
 * @author 83673
 * @since 2018-11-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("work_release")
public class Release extends Model<Release> {

    public static final String ID = "id";
    public static final String USER_ID = "user_id";
    public static final String TYPE_GROUP_ID = "type_group_id";
    public static final String PERSON_NUMBER = "person_number";
    public static final String WORK_TYPE_ID = "work_type_id";
    public static final String RELEASE_SITE_ID = "release_site_id";
    public static final String AREA_CITY_ID = "area_city_id";
    public static final String RELEASE_PLACE = "release_place";
    public static final String HIRE_STATE = "hire_state";
    public static final String RELEASE_LATITUDE = "release_latitude";
    public static final String RELEASE_TYPE = "release_type";
    public static final String RELEASE_SALARY = "release_salary";
    public static final String RELEASE_STATE = "release_state";
    public static final String RELEASE_REMARK = "release_remark";
    public static final String EMPLOY_TIME = "employ_time";
    public static final String CREATE_TIME = "create_time";
    public static final String DEL_FLAG = "del_flag";
    private static final long serialVersionUID = 1L;
        /**
     * 主键ID
     */
         private Long id;
        /**
     * app用户id
     */
         private Long userId;
        /**
     * 个人/组ID关联work_type_group表
     */
         private Long typeGroupId;
        /**
     * 个人发布工作时，选择工作组填写人数
     */
         private Integer personNumber;
        /**
     * 工种ID
     */
         private Long workTypeId;
        /**
     * 工地编号
     */
         private Long releaseSiteId;
        /**
     * 个人发布工作时，省-市-区县
     */
         private String areaCityId;
        /**
     * 发布地点，不知前端是否能上送地名来，预留字段
     */
         private String releasePlace;
        /**
     * 是否录用 0-未录用 1--已录用
     */
         private Integer hireState;
        /**
     * 发布工作时所在的经纬度
     */
         private String releaseLatitude;
        /**
     * 发布类型 1--个人发布 2--企业发布
     */
         private Integer releaseType;
        /**
     * 发布薪资（/天）
     */
         private String releaseSalary;
        /**
     * 发布状态 1-待处理、2-未完成、3-已完成
     */
         private Integer releaseState;
        /**
     * 发布备注
     */
         private String releaseRemark;
        /**
     * 录用时间
     */
         private LocalDateTime employTime;
        /**
     * 发布时间
     */
         @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
        /**
     * 删除标识 1-未删除1-已删除
     */
         private Integer delFlag;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
